package com.yc.dygang.junit;

import java.lang.reflect.InvocationTargetException;

public class TestRunner {

    public static void main(String[] args) {
        //  扫描所有的类, 只要类中包含加了 @Test 方法
        final Class<Demo> demoClass = Demo.class;

        /**
         *  方法对象.getAnnotation(Test.class) == null ==> // 未加注解 或者 不是运行时有效
         */

//        Method mothod ;
//        mehtod.invoke(obj,...);
//        invoke 捕获 InvocationTargetException e
//                e.getCause(); // 获取房方法内部的异常对象, 包括断言错误


        // 反射获取所有的公有方法, 不含参数

        // 通过注解筛选出 bofore, after, test,
        // 分别保存到集合中

        // 循环 test方法集合

        // 先执行 before
        // 在执行  test
        // ==> AssertError => 断言错误 ==> 测试结果错误
        // ==> Exception  ==> 方法异常
        // ==> 正常执行结束 ==> 正确
        // 最后执行 after

        // 报告结果
    }
}
